/*
 * @Author: your name
 * @Date: 2021-03-15 15:50:34
 * @LastEditTime: 2022-01-17 17:38:57
 * @LastEditors: LVGRAPE
 * @Description: In User Settings Edit
 * @FilePath: \Mixly_FOR__ZINO\arduino\hardware\UAVI_TECH\ZINO\cores\ZINO_IAP\NVIC_Configuration.h
 */
#ifndef NVIC_CONFIGURATION_H
#define NVIC_CONFIGURATION_H
#ifdef __cplusplus
extern "C" {
#endif 
#include "at32f4xx.h"
#define USE_(X) USE_##X
	void NVIC_Configuration();
	void NVIC_DISABLE_ALL(void);
	void NVIC_Config(uint8_t NVIC_IRQChannel, uint8_t PreemptionPriority, uint8_t SubPriority, FunctionalState newState);

	typedef enum{
		USE_(DMA1_Channel1_IRQn)=0,
		USE_(USART1_IRQn),
		USE_(USART2_IRQn),
		USE_(USART3_IRQn),
		#if defined AT32F415RCT7 || defined AT32F413RCT7
		USE_(UART4_IRQn),				
		USE_(UART5_IRQn),
		#endif // DEBUG
		// USE_(TMR3_GLOBAL_IRQn),
		USE_(EXTI15_10_IRQn),
		#if defined AT32F415RCT7 || defined AT32F413RCT7
		// USE_(ERTCAlarm_IRQn),
		#endif
		USE_(ADC1_2_IRQn),
		USE_(TMR1_TRG_HALL_TMR11_IRQn),
		USE_(TMR1_OV_TMR10_IRQn),
		// USE_(TMR1_CC_IRQn),
		USE_IRQn_COUNT,
	}NVIC_USE_IRQn_E;
#ifdef __cplusplus
}
#endif 
#endif // !USART_CONFIGURATION_H